package cn.iocoder.yudao.module.pay.order.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.Valid;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;

import java.util.Map;

@Schema(description = "用户 APP - 付款单据提交 VO")
@Data
@Valid
public class AppPayOrderSubmitReqVO {

    @Schema(description = "交易单号", requiredMode = Schema.RequiredMode.REQUIRED, example = "SHP2024111116038888")
    @NotBlank(message = "交易单号不能为空")
    private String tradeNo;

    @Schema(description = "支付渠道：mock-模拟、wallet-余额、alipay_app-支付宝应用、wx_lite-微信小程序", requiredMode = Schema.RequiredMode.REQUIRED, example = "wallet")
    @NotBlank(message = "支付渠道不能为空")
    private String channelCode;

    @Schema(description = "支付渠道的额外参数，例如支付宝条码支付需要传递 auth_code 参数、微信小程序支付需要传递 openid 参数", example = """
            {"auth_code":"xxx"}
            """)
    private Map<String, String> channelExtras;


}
